1
Notação Hexadecimal e Espaço de Endereçamento Virtual
AI031Lesson 2
00:00

Entre no Visualização de Programa em Nível de Máquina, onde a complexidade do hardware é abstraída em um Espaço de Endereçamento Virtual. Nesta visão, a memória não é uma coleção de variáveis, mas um grande array contíguo de blocos de 8 bits chamados bytes. Para uma máquina com tamanho de palavra de $w$ bits, esses endereços variam de $0$ a $2^w - 1$, definindo os limites da capacidade do programa.

1. O Poder do 16

Binário é a linguagem dos circuitos, mas Notação Hexadecimal é a linguagem dos programadores. Como $16 = 2^4$, um único dígito hexadecimal (0–F) mapeia perfeitamente para um nibble de 4 bits. Isso permite que um valor de 1 byte seja expresso de forma compacta por exatamente dois dígitos (por exemplo, 0xFF). Essa abreviação é essencial para ler código de máquina e código assembly, como a instrução 4004dc: 48 03 47 28.

Figura 2.2: Mapeamento Hexadecimal-Binário-DecimalHexDecBin01...9ABCDEF01...910111213141500000001...1001101010111100110111101111 Regra: Para converter Dec x para Hex, calcule repetidamente x = q ⋅ 16 + r

2. Precisão e Aritmética

Enquanto manipulamos Tipos de Dados Inteiros, encontramos anéis booleanos e complemento de dois lógica. Devemos lidar com armazenamento little endian armazenamento, estouro de inteiro, e os detalhes de precisão simples ponto flutuante onde Infinito ($+\infty$) e NaN residem. Compreender esses padrões de bits é o primeiro passo para dominar aritmética de tamanho arbitrário e programação de sistemas robusta.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>